#ifndef SOCKET_FUNCTIONS_H
#define SOCKET_FUNCTIONS_H

#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <fcntl.h>

typedef int socket_t;
#define INVALID_SOCKET_VALUE -1
#define SOCKET_ERROR_VALUE -1

// 初始化Socket环境
socket_t init_socket();

// 创建Socket服务器
socket_t create_server(int port);

// 接受客户端连接
socket_t accept_client(socket_t server_socket);

// 连接到服务器
socket_t connect_to_server(const char* server_ip, int port);

// 发送数据
int send_data(socket_t socket, const char* data, int data_len);

// 接收数据
int recv_data(socket_t socket, char* buffer, int buffer_len);

// 关闭Socket
void close_socket(socket_t socket);

// 清理Socket环境
void cleanup_socket();

#endif // SOCKET_FUNCTIONS_H